//package cn.wzut.edut.service;
//
//import cn.wzut.edut.dao.inf.Information;
//import cn.wzut.edut.dao.inf.User;
//import cn.wzut.edut.dao.inf.Menu;
//import cn.wzut.edut.dao.inf.Role;
//import cn.wzut.edut.dao.pojo.table.*;
//import cn.wzut.edut.pojo.RoleConfig;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
///**
// * 初始化服务层（系统初始化配置）
// */
//@Service
//public class InitService {
//    @Autowired
//    Menu menu;
//
//    @Autowired
//    Role role;
//
//    @Autowired
//    User login;
//
//    @Autowired
//    Information information;
//
//    /**
//     * 主页跳转控制
//     * @return T: 系统首次启动，需要初始化 | F: 无需初始化
//     */
//    public boolean Index() {
//        if(login.countSysUser() == 0) {
//            return true;
//        }
//        else{
//            return false;
//        }
//    }
//
//    public boolean submitConfig(String uid, String pwd, RoleConfig roleConfigs[]){
//        try {
//            // 初始化系统默认配置（菜单记录）
//            // 父级菜单权限
//            menu.insertSysMenu(new SysMenu("1", "主页", "home", null, "/home"));
//            menu.insertSysMenu(new SysMenu("2", "个人中心", "my", null, "/my"));
//            menu.insertSysMenu(new SysMenu("3", "我的任务", "mission", null, "/mission"));
//            menu.insertSysMenu(new SysMenu("4", "题库管理", "lib_manage", null, "/lib_manage"));
//            menu.insertSysMenu(new SysMenu("5", "任务管理", "mission_manage", null, "/mission_manage"));
//            menu.insertSysMenu(new SysMenu("6", "学生组管理", "stu_grp_manage", null, "/stu_grp_manage"));
//            menu.insertSysMenu(new SysMenu("7", "教师组管理", "tch_grp_manage", null, "/tch_grp_manage"));
//            menu.insertSysMenu(new SysMenu("8", "班级管理", "class_manage", null, "/class_manage"));
//            menu.insertSysMenu(new SysMenu("9", "用户管理", "user_manage", null, "/user_manage"));
//            menu.insertSysMenu(new SysMenu("10", "角色管理", "role_manage", null, "/role_manage"));
//            // 子级菜单权限（更新了管理员权限下获取所有信息和教师权限下获取所属信息的区分子级菜单）
//            menu.insertSysMenu(new SysMenu("11", "个人信息", "info", "2", "/info"));
//            menu.insertSysMenu(new SysMenu("12", "修改密码", "pwd_mod", "2", "/pwd_mod"));
//            menu.insertSysMenu(new SysMenu("13", "我的考试", "exm", "3", "/exm"));
//            menu.insertSysMenu(new SysMenu("14", "我的练习", "train", "3", "/train"));
//            menu.insertSysMenu(new SysMenu("15", "学情分析", "anal", "3", "/anal"));
//            menu.insertSysMenu(new SysMenu("16", "我的考试", "my_exm_manage", "5", "/my_exm_manage"));
//            menu.insertSysMenu(new SysMenu("17", "我的练习", "my_train_manage", "5", "/my_train_manage"));
//            menu.insertSysMenu(new SysMenu("18", "考试管理", "all_exm_manage", "5", "/all_exm_manage"));
//            menu.insertSysMenu(new SysMenu("19", "练习管理", "all_train_manage", "5", "/all_train_manage"));
//            menu.insertSysMenu(new SysMenu("20", "我的学生组", "my_stu_grp", "6", "/my_stu_grp"));
//            menu.insertSysMenu(new SysMenu("21", "学生组管理", "all_stu_grp", "6", "/all_stu_grp"));
//            menu.insertSysMenu(new SysMenu("22", "我的教师组", "my_tch_grp", "6", "/my_tch_grp"));
//            menu.insertSysMenu(new SysMenu("23", "教师组管理", "all_tch_grp", "6", "/all_tch_grp"));
//            // 初始化系统默认配置（初始角色记录）
//            String rootRoleId = role.insertSysRole(new SysRole("1", "超级管理员"));
//            role.insertSysRole(new SysRole("2", "管理员"));
//            role.insertSysRole(new SysRole("3", "教师"));
//            role.insertSysRole(new SysRole("4", "学生"));
//            // 初始化系统默认配置（初始班级、学院记录）
//            login.initPtyClass();
//            login.initPtyCollege();
//            // 添加超级管理员用户
//            String rootUserId = login.insertSysUser(new SysUser("1", uid, "SuperAdmin", SysService.encrypt(pwd)));
//            // 超级管理员信息初始化
//            information.insertPtyTeacher(new PtyTeacher("1", "TeacherCode", "SuperAdmin", null, "Phone", "0", rootUserId));
//            // 超级管理员角色初始化并赋予用户
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("1", rootRoleId, "1"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("2", rootRoleId, "2"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("4", rootRoleId, "4"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("5", rootRoleId, "5"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("6", rootRoleId, "6"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("7", rootRoleId, "7"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("8", rootRoleId, "8"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("9", rootRoleId, "9"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("10", rootRoleId, "10"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("11", rootRoleId, "11"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("12", rootRoleId, "12"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("13", rootRoleId, "18"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("14", rootRoleId, "19"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("15", rootRoleId, "21"));
//            role.insertSysRoleMenuRel(new SysRoleMenuRel("16", rootRoleId, "23"));
//            login.insertSysUserRoleRel(new SysUserRoleRel("1", login.selectUser(uid).getId(), rootRoleId));
//            // 角色初始化
//            for(RoleConfig roleConfig : roleConfigs){
//                String roleId = role.selectRoleInName(roleConfig.getRoleName()).getId();
//                boolean[] roleMenuRels = roleConfig.getRoleMenuRels();
//                for(int i = 0; i < roleMenuRels.length; i++){
//                    if(roleMenuRels[i]){
//                        role.insertSysRoleMenuRel(new SysRoleMenuRel("1", roleId, String.valueOf(i + 1)));
//                    }
//                }
//            }
//            return true;
//        }
//        catch(Exception e){
//            return false;
//        }
//    }
//
//
//}
